package com.kevin.enums;

//批量更新选项
public enum AcceptOp {
	//批量插入（由系统产生自增加ID）
	//该执行会开启事务。
	INSERT(1,"普通批量插入"),
	//批量插入（由用户指定ID插入）
	//该执行会开启事务。
	INSERTWITHID(2,"指定ID插入"),
	//批量更新
	//该执行会开启事务。
	UPDATE(4,"批量更新"),
	//批量删除
	DELETE(8,"批量删除"),
	//批量自动插入或更新（检测主键数据若存在，则更新；不存在，则插入）
	//该执行不会开启事务。
	AUTO(16,"自动插入或更新"),
	//清空表（只有和Insert或InsertWithID组合使用时才有效）
	TRUNCATE(32,"清空表");
	
	private Integer key;
	private String des;
	
	AcceptOp(Integer key,String des) {
		this.key = key;
		this.des = des;
	}
	
    public static AcceptOp valueofKey(Integer key) {
        for (AcceptOp op : AcceptOp.values()) {
            if (op.key.equals(key)) {
                return op;
            }
        }
        throw new IllegalArgumentException("No element matches " + key);
    }
    
    public Integer getKey() {
        return key;
    }
    
    public String getDes() {
        return des;
    }
}
